Cellul'ut
|
Application développée dans le cadre de l’UV LO21 qui permet de répondre à la problématique de simulation d’automates.
Avoir une version de Qt d'au moins 5.9. Projet principalement testé sur Qt 5.15.2. Le projet a été testé et fonctionne sur Qt 6, mais il est conseillé d'utiliser une version récente de Qt 5.
Testé avec les compilateurs suivants :
Dans votre répétoire faire: $ git clone https://gitlab.utc.fr/lo21_pin_noir_boucher_bouri_detree/cellulutlo21.git
Ouvrez le projet avec QtCreator, compiler et executer le programme, puis admirez vos automates cellulaires :)
En cas de soucis, assurez-vous de bien exécuter l'application et non pas les tests :
Pour compiler depuis le terminal, sous Linux, dans le dossier contenant cellulut.pro :
De prime abord, l’application permet à l’utilisateur de paramétrer intégralement les différents types d’**automates cellulaires** : taille du réseau (par réglage des dimensions de la grille), l’ ensemble des états (nombre d’états, nom et couleur associée paramétrable directement par l’interface de l’Alphabet), le type de voisinage (Von Neumann, Moore, ou tout simplement arbitraire), ainsi que la règle de transition (Jeu de la vie, totalistique, etc..). L’utilisateur a également une totale liberté sur la nature des frontières de la grille : Elles peuvent être aussi bien périodiques (comme le propose le sujet) ou inertes (ajout supplémentaire).
En ce qui concerne l’**Alphabet**, ce dernier permet de paramétrer jusqu’à 32 états (supérieur aux 8 états du cahier des charges). Le nom et la couleur peuvent aussi être paramétrés. Notre application se veut également accessible à tous : En ce sens, nous avons implémenté un mode Daltonien permettant à ces derniers de pouvoir simuler jusqu’à 8 états sans aucun problème, et dont le contraste des couleurs s’adapte aux personnes souffrant de deutéranomalie.
Du point de vue du voisinage et de la règle de transition, l’utilisateur peut à sa guise utiliser des modèles d’automate cellulaires déjà proposés par l’application, ou bien laisser part à sa créativité en créant ou modifiant des règles déjà établies : Ces nouvelles créations pourront être sauvegardées et utilisées par la suite. Une aide est accessible à l’utilisateur dans le cadre de la création de ces règles.
Au moment de « jouer » avec la grille, l’application propose à l’utilisateur d’utiliser plusieurs structures déjà implémentées : oscillateurs, langton’s loops, etc. Quelques structures « exotiques » ont pu se glisser dans ces patterns, n’hésitez donc pas à toutes les consulter. L’utilisateur peut également paramétrer l’état initial de la grille de façon manuelle en sélectionnant simplement les cellules à modifier (un maintien du clic gauche permet de modifier rapidement un groupe de cellules).
S’il venait à l’utilisateur de devoir interrompre son chef-d’œuvre artistique, l’application sauvegarde automatiquement les différents changements (qu’ils concernent la grille ou les paramètres). Enfin, l’utilisateur a la possibilité d’utiliser des configurations déjà établies ou d’en créer, de façon similaire aux règles de transition et de voisinage.
Lorsque la configuration de l’automate est complète, l’utilisateur peut réellement démarrer l’application avec le bouton Play. Il peut à n’importe quel instant remettre à zéro l’intégralité de la simulation, modifier à sa guise la vitesse de simulation (mode automatique), aller directement à l’état suivant, ou revenir à l’état précédent (mode pas à pas)
Et oui l'application fonctionne aussi avec Linux !
Enfin, l’application propose des ajouts supplémentaires beaucoup plus « exotiques ». À l’utilisateur de pouvoir les retrouver !
Version 1.1
Ce projet est sous licence MIT License
- voir le fichier [LICENSE](LICENSE) pour plus d'informations